This invention relates to programmable logic arrays (PLA's), and more particularly, to PLA's which are readily re-programmable.
In general, a PLA is a logic circuit which receives a plurality of digital input signals and generates a plurality of digital output signals wherein each of the digital output signals is a programmable sum-of-product combination of the input signals. In conventional PLA's, one circuit is provided for generating a plurality of terms which are the logical AND of selected input signals; and another circuit is provided to generate the output signals by selectively ORing the AND terms. A typical PLA may have a total of n input signals, generate a total of m AND terms from the input signals, and generate a total of k output signals by selectively ORing the m AND terms.
An article describing PLA's in more detail is "Field-PLA's Simplify Logic Designs", which was published in Electronic Design of September 1, 1975, at pages 84-90. Another series of articles describing PLA's are "Field-programmable Arrays: Powerful Alternatives to Random Logic", Electronics, July 5, 1979, pages 109-114; and "Field-programmable Logic, Part 2: Sequencers and Arrays Transform Truth Tables into Working Systems", Electronics, July 19, 1979, pages 132-139.
The general design of a PLA includes an AND array feeding into an OR array. The AND array accepts n address inputs which includes an array of terms m deep. Each term is the AND combination of data, or data complement or don't care for each input (don't care is formed by ignoring data and data complement for a given input), hence a typical program may appear as:
term 1=A.LAMBDA.B PA1 term 2=A.LAMBDA.B PA1 term m=B
The term lines then feed into an OR array where each term line may be selectively OR'd into an output (the array is m.times.k where k is the number of outputs).
The prior art PLA's are typically designed for use in systems requiring permanent or semipermanent nonvolatile logic arrays. PROM's (programmable read only memories) are frequently used to implement logic arrays, which PROM's are usable only once after programming (i.e., the program cannot be changed once made). EPROM's (erasable PROM's) can be changed by the use of an ultraviolet light, which erasure requires several hours to complete. Also, another problem with EPROM's is that they are expensive.
EEPROM's (electrically erasable PROM's), which are even more expensive than EPROM's, require special power supplies. Furthermore, PROM's are not configured as PLA's.